Programació d'automatismes i robots amb Arduino, Processing i Android
14.3 LCD-I2C 20x4 + Lectura dades
1) Instal·lació i proves de la pantalla.
Fes el muntatge aquest:
Ara engega l'IDE d'Arduino i ves a «Eines, Gestiona les biblioteques...», i en la finestra de cerca escriu « LiquidCrystal_I2C » i instal·la li biblioteca de Frank de Brabander, i prem instal·la.
A continuació pots provar la llibreria amb aquest programa.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x27,20,4);
LiquidCrystal_I2C lcd(0x3F,20,4);
void setup()
{
lcd.init(); // iniciem LCD
}
void loop()
{
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Fila 1");
lcd.setCursor(0,1);
lcd.print("Fila 2 ");
lcd.setCursor(0,2);
lcd.print("Fila 3");
lcd.setCursor(0,3);
lcd.print("Fila 4");
delay(2000);
lcd.clear(); //Borra la pantalla
}
2) Lectura de dades de T i H amb la pantalla
Fes el muntatge aquest:
A continuació pot provar el programa aquest:
// Copyleft(2019): C. Ferrando
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x27,20,4);
LiquidCrystal_I2C lcd(0x3F,20,4);
//Posem les llibreries del DHT22
#include <dht.h>
dht DHT;
#define DHT22_PIN 5
//Definim temperatura i humitat relativa reals mesurades pel sensor RHT03
float temperatura; // T en ºC
float humitat; // Humitat relativa %
void setup()
{
lcd.init(); // iniciem LCD
Serial.begin(9600);// Port serie amb Ordinador
Serial.println("IES A_B_C Aula a_b_c "); // On som amb els alumnes?
}
void loop()
{
// Llegeix les dades
int chk = DHT.read22(DHT22_PIN);
temperatura= DHT.temperature;
humitat=DHT.humidity ;
lcd.backlight();// Amb llum de fons
//lcd.noBacklight(); // Sense llum de fons ( Cal regular la llum amb el potenciòmetre )
lcd.setCursor(0,0); // Origen a la primera fila
lcd.print("El valor de T es ");
lcd.setCursor(0,1); //Origen a la segona fila
lcd.print(temperatura);// Imprimim la variable temperatura
lcd.setCursor(5,1);
lcd.print(" C");
lcd.setCursor(0,2);//Origen a la tercera fila
lcd.print("La humitat es");
lcd.setCursor(0,3);//Origen a la quarta fila
lcd.print(humitat);//Imprimim la variable humitat
lcd.setCursor(5,3);
lcd.print(" %");
delay(2000);
lcd.clear(); //Borra la pantalla
}
El resultat serà semblant a aquest:
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 3.0